Apache POI লাইব্রেরি ব্যবহার করে আপনি PowerPoint ফাইলের টেক্সটকে ফরম্যাট করতে পারেন, যেমন ফন্ট, সাইজ, রঙ ইত্যাদি। এটি HSLF (PPT) এবং XSLF (PPTX) API এর মাধ্যমে করা যায়। এই গাইডে আমরা দেখব কিভাবে টেক্সট ফরম্যাটিং যেমন ফন্ট, সাইজ এবং রঙ PowerPoint স্লাইডে ব্যবহার করা যায়।
PowerPoint 2003 (PPT) ফাইলের জন্য HSLF API ব্যবহার করা হয়। নিচে একটি উদাহরণ দেওয়া হলো যেখানে PowerPoint স্লাইডে টেক্সটের ফন্ট, সাইজ এবং রঙ সেট করা হচ্ছে:
import org.apache.poi.hslf.usermodel.*;
import java.awt.Color;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class PowerPointTextFormatting {
public static void main(String[] args) throws IOException {
// বিদ্যমান PowerPoint ফাইল লোড করা
FileInputStream inputStream = new FileInputStream("existing.ppt");
HSLFSlideShow ppt = new HSLFSlideShow(inputStream);
// স্লাইড নির্বাচন করা
HSLFSlide slide = ppt.getSlides().get(0);
// টেক্সট বক্স তৈরি করা
HSLFTextBox title = new HSLFTextBox();
title.setText("Formatted Text Example");
// টেক্সট ফরম্যাটিং
title.setFontSize(24.0); // Font Size
title.setFontColor(new Color(255, 0, 0)); // Font Color (Red)
title.setFont("Arial"); // Font Family
// স্লাইডে টেক্সট বক্স যোগ করা
title.setAnchor(new java.awt.Rectangle(100, 100, 400, 50));
slide.addShape(title);
// ফাইল সংরক্ষণ করা
FileOutputStream out = new FileOutputStream("formatted.ppt");
ppt.write(out);
out.close();
System.out.println("PowerPoint ফাইল ফরম্যাট করা হয়েছে!");
}
}
এই কোডটি একটি PowerPoint স্লাইডে "Formatted Text Example" টেক্সট যোগ করবে এবং এর ফন্ট সাইজ, রঙ এবং ফন্ট ফ্যামিলি সেট করবে।
PowerPoint 2007 এবং পরবর্তী সংস্করণের জন্য XSLF API ব্যবহার করা হয়। নিচে একটি উদাহরণ দেওয়া হলো যেখানে PowerPoint 2007 বা তার পরবর্তী সংস্করণে (PPTX) টেক্সটের ফন্ট, সাইজ এবং রঙ সেট করা হচ্ছে।
import org.apache.poi.xslf.usermodel.*;
import java.awt.Color;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class PowerPointTextFormattingPPTX {
public static void main(String[] args) throws IOException {
// বিদ্যমান PowerPoint ফাইল লোড করা
FileInputStream inputStream = new FileInputStream("existing.pptx");
XMLSlideShow ppt = new XMLSlideShow(inputStream);
// স্লাইড নির্বাচন করা
XSLFSlide slide = ppt.getSlides().get(0);
// টেক্সট বক্স তৈরি করা
XSLFTextBox title = slide.createTextBox();
title.setText("Formatted Text Example");
// টেক্সট ফরম্যাটিং
title.setFontSize(24.0); // Font Size
title.setFontColor(new Color(255, 0, 0)); // Font Color (Red)
title.setFont("Arial"); // Font Family
// স্লাইডে টেক্সট বক্স যোগ করা
title.setAnchor(new java.awt.Rectangle(100, 100, 400, 50));
// ফাইল সংরক্ষণ করা
FileOutputStream out = new FileOutputStream("formatted.pptx");
ppt.write(out);
out.close();
System.out.println("PowerPoint ফাইল ফরম্যাট করা হয়েছে!");
}
}
এটি একটি PowerPoint স্লাইডে "Formatted Text Example" টেক্সট যোগ করবে এবং তার ফন্ট সাইজ, রঙ এবং ফন্ট ফ্যামিলি সেট করবে। এতে টেক্সটের রঙ রেড (255, 0, 0) সেট করা হয়েছে।
আপনি setFontColor মেথড ব্যবহার করে PowerPoint স্লাইডে টেক্সটের রঙ নির্ধারণ করতে পারেন। উদাহরণস্বরূপ, রঙ Red (255, 0, 0) হতে পারে, অথবা আপনি Color.decode("#HEXCODE") ব্যবহার করে কাস্টম রঙও সেট করতে পারেন।
title.setFontColor(new Color(255, 0, 0)); // Red Color
// অথবা
title.setFontColor(Color.decode("#00FF00")); // Green Color using HEX
ফন্ট সাইজ: আপনি setFontSize মেথড ব্যবহার করে টেক্সটের সাইজ পরিবর্তন করতে পারেন।
title.setFontSize(18.0); // Font Size 18
ফন্ট পরিবর্তন: আপনি setFont মেথড ব্যবহার করে টেক্সটের ফন্ট ফ্যামিলি পরিবর্তন করতে পারেন।
title.setFont("Times New Roman"); // Font Family
PowerPoint স্লাইডে টেক্সট বোল্ড, ইটালিক বা আন্ডারলাইন করতে XSLF বা HSLF API এর RichTextRun ব্যবহার করতে হয়। নিচে একটি উদাহরণ:
import org.apache.poi.xslf.usermodel.*;
import org.apache.poi.sl.usermodel.TextParagraph;
import java.io.FileOutputStream;
import java.io.IOException;
public class PowerPointTextStyleExample {
public static void main(String[] args) throws IOException {
// নতুন PowerPoint তৈরি করা
XMLSlideShow ppt = new XMLSlideShow();
// স্লাইড তৈরি করা
XSLFSlide slide = ppt.createSlide();
// টেক্সট বক্স তৈরি করা
XSLFTextBox textBox = slide.createTextBox();
XSLFTextParagraph p = textBox.addNewTextParagraph();
XSLFTextRun r = p.addNewTextRun();
r.setText("Bold, Italic, and Underlined Text");
// ফন্ট স্টাইল সেট করা
r.setBold(true); // বোল্ড
r.setItalic(true); // ইটালিক
r.setUnderline(true); // আন্ডারলাইন
// ফাইল সংরক্ষণ করা
FileOutputStream out = new FileOutputStream("formatted_text_style.pptx");
ppt.write(out);
out.close();
System.out.println("PowerPoint ফাইল ফরম্যাট করা হয়েছে!");
}
}
এটি PowerPoint স্লাইডে "Bold, Italic, and Underlined Text" যোগ করবে এবং সেই টেক্সটের ফন্ট স্টাইল বোল্ড, ইটালিক এবং আন্ডারলাইন করবে।
Apache POI এর XSLF এবং HSLF API ব্যবহার করে PowerPoint স্লাইডে টেক্সট ফরম্যাটিং করা সম্ভব। আপনি ফন্ট সাইজ, ফন্ট ফ্যামিলি, রঙ, বোল্ড, ইটালিক এবং আন্ডারলাইন স্টাইলসহ বিভিন্ন ফরম্যাটিং অপশন ব্যবহার করতে পারেন। এর মাধ্যমে আপনি PowerPoint ফাইলের কন্টেন্ট কাস্টমাইজ এবং স্টাইলিশ করতে পারেন।
common.read_more